<template>
<echartsInit :chartOption="chartOption"></echartsInit>
</template>
<script>
import themeChart from "@/mixins/themeChart"
export default {
  components: { },
  mixins: [themeChart],
  data() {
    return {
      chartData:{
        xAxis:['12a', '1a', '2a', '3a', '4a', '5a', '6a', '7a', '8a', '9a','10a','11a', '12p', '1p', '2p', '3p', '4p', '5p', '6p', '7p', '8p', '9p', '10p', '11p'],
        yAxis:[1,2,3,4,5,6,7],
        colors:[$c.cbl6,$c.cbl9],
        data:[[0,0,5],[0,1,1],[0,2,0],[0,3,0],[0,4,0],[0,5,0],[0,6,0],[0,7,0],[0,8,0],[0,9,0],[0,10,0],[0,11,2],[0,12,4],[0,13,1],[0,14,1],[0,15,3],[0,16,4],[0,17,6],[0,18,4],[0,19,4],[0,20,3],[0,21,3],[0,22,2],[0,23,5],[1,0,7],[1,1,0],[1,2,0],[1,3,0],[1,4,0],[1,5,0],[1,6,0],[1,7,0],[1,8,0],[1,9,0],[1,10,5],[1,11,2],[1,12,2],[1,13,6],[1,14,9],[1,15,11],[1,16,6],[1,17,7],[1,18,8],[1,19,12],[1,20,5],[1,21,5],[1,22,7],[1,23,2],[2,0,1],[2,1,1],[2,2,0],[2,3,0],[2,4,0],[2,5,0],[2,6,0],[2,7,0],[2,8,0],[2,9,0],[2,10,3],[2,11,2],[2,12,1],[2,13,9],[2,14,8],[2,15,10],[2,16,6],[2,17,5],[2,18,5],[2,19,5],[2,20,7],[2,21,4],[2,22,2],[2,23,4],[3,0,7],[3,1,3],[3,2,0],[3,3,0],[3,4,0],[3,5,0],[3,6,0],[3,7,0],[3,8,1],[3,9,0],[3,10,5],[3,11,4],[3,12,7],[3,13,14],[3,14,13],[3,15,12],[3,16,9],[3,17,5],[3,18,5],[3,19,10],[3,20,6],[3,21,4],[3,22,4],[3,23,1],[4,0,1],[4,1,3],[4,2,0],[4,3,0],[4,4,0],[4,5,1],[4,6,0],[4,7,0],[4,8,0],[4,9,2],[4,10,4],[4,11,4],[4,12,2],[4,13,4],[4,14,4],[4,15,14],[4,16,12],[4,17,1],[4,18,8],[4,19,5],[4,20,3],[4,21,7],[4,22,3],[4,23,0],[5,0,2],[5,1,1],[5,2,0],[5,3,3],[5,4,0],[5,5,0],[5,6,0],[5,7,0],[5,8,2],[5,9,0],[5,10,4],[5,11,1],[5,12,5],[5,13,10],[5,14,5],[5,15,7],[5,16,11],[5,17,6],[5,18,0],[5,19,5],[5,20,3],[5,21,4],[5,22,2],[5,23,0],[6,0,1],[6,1,0],[6,2,0],[6,3,0],[6,4,0],[6,5,0],[6,6,0],[6,7,0],[6,8,0],[6,9,0],[6,10,1],[6,11,0],[6,12,2],[6,13,1],[6,14,3],[6,15,4],[6,16,0],[6,17,0],[6,18,0],[6,19,0],[6,20,1],[6,21,2],[6,22,2],[6,23,6]]
      },
      chartOption:{ }
    }
  },
  computed: {},
  methods: {
    processData(){
      let {legend,colors,xAxis,yAxis,data}=this.chartData
      data = data.map(function (item) {
          return [item[1], item[0], item[2] || '-'];
      });
      this.chartOption.series[0].data=data;
      this.chartOption.xAxis.data=xAxis;
      this.chartOption.yAxis.data=yAxis;
    },
    processOption(){
      const {getColor,chartData}=this,{colors}=chartData
      this.chartOption={
        update:false,
        // title:{ text:"barA", left:200, top:0, textStyle:{ color:$c.gyl3, fontSize:16, fontWeight:"normal" }, },
        title:{
          show:false,
          text:"",
          fontSize:16,
          fontWeight:"normal",
          textStyle:{
              color:$c.cbl5,
          },
        },
        tooltip: {
          //trigger: 'axis',
          //axisPointer: { type: 'shadow' }
        },
        legend: {
          //show:false,
          icon: 'rect',
          data: [],
          right: '5%',
          top: '20',
          textStyle: {
            fontSize: 12,
            color: $c.cbl3
          }
        },
        toolbox: {
          //y: 'top',
          //top:0,
          show:false,
          feature: {
            magicType: { type: ['line', 'bar'] }
          }
        },
        grid: {
          left: '3%',
          right: '3%',
          bottom: '8%',
          top:"40",
          //containLabel: true
        },
        xAxis: {
          type: 'category',
          data: [],
          splitArea: {
            show: true,
            areaStyle:{ opacity:.2 }
          },
          splitLine: { show: false },
          axisLine: { lineStyle: { color:getColor("lineAX") }, },
          axisTick: { lineStyle: { color:getColor("lineAX") }, },
          splitLine:{ lineStyle: { color: getColor("lineSP") }, },
          axisLabel : { color :getColor("staFC"), align : 'center' }
        },
        yAxis: {
          type: 'category',
          data: [],
          splitArea: {
            show: true,
            areaStyle:{ opacity:.2 }
          },
          axisLine: { lineStyle: { color:getColor("lineAX") }, },
          axisTick: { lineStyle: { color:getColor("lineAX") }, },
          splitLine:{ lineStyle: { color: getColor("lineSP") }, },
          axisLabel : { color :getColor("staFC"), align : 'right' }
        },
        visualMap: {
          inRange:{ color:colors, },
          min: 0,
          max: 10,
          calculable: true,
          itemWidth: 10 ,
          itemHeight: 140 ,
          orient: 'horizontal',
          right:20,
          top: 5,
          show:true,
        },
        series: [{
          name: 'Punch Card',
          type: 'heatmap',
          data: [],
          label: { show: true, color:$c.cyl3 },
          emphasis: { itemStyle: { shadowBlur: 10, shadowColor: 'rgba(0, 0, 0, 0.5)' } }
        }]
      }
      this.processData();
    },
    chartTheme(){
      const {getColor,chartData,getPalette,oriColors,viewColor}=this
      // viewColor(oriColors)
      // viewColor(chartData.colors)
      chartData.colors[0]=getColor("techDecoA")
      this.$nextTick(()=>{
        chartData.colors[1]=$c.hsll(chartData.colors[0],.1)
      })
    }
  },
  mounted() {
		this.processOption();
  }
}
</script>

<style lang="less">

</style>
